/*
 * GeoGraphable.java
 *
 * Created on 31 mai 2007, 21:47
 *
 */

package courselog.maputils;

import courselog.gpsutils.GeoDirection;
import courselog.gpsutils.GeoPoint;
import ewe.fx.Point;

/**
 * Object capable of converting Geo points into a graphic context.
 * @author CourseLog
 */
public interface GeoGraphable {
    /**
     * Compute X and Y on map from geo position.
     * @param pos geo position to transpose.
     * @param tmp GeoDirection reference to compute intermediate direction.
     * If <I><B>null</B></I> a new object is allocated.
     * @param pt point on bitmap image to compute.
     * If <I><B>null</B></I> a new Point object is allocated.
     * @return Computed point. Should be <I>pt</I> or a new Point object.
     */
    public Point getMapPointFromPosition(GeoPoint pos, GeoDirection tmp,
            Point pt);
    
    /**
     * Compute lat and long from position on map.
     */
    public GeoPoint getPointFromMap(int xx, int yy, GeoPoint dest);
    
}
